const path = require("path");
const HtmlWebpackPlugin = require("html-webpack-plugin");
const CopyPlugin = require("copy-webpack-plugin");
// 出口目录的绝对地址
const outputPath = path.resolve(__dirname,"../build");
module.exports = {
	// 配置入口
	entry:path.resolve(__dirname,"../src/index.js"),
	// 配置出口
	output:{
		// 指定出口目录
		path:outputPath,
		// 出口文件
		filename:"js/bang.min.js",
		// 清空出口目录的内容，然后再将最新的打包内容放入
		clean:true,
		// 加载的资源起始为/
		publicPath:"/"
	},
	// 配置插件
	plugins:[
		new HtmlWebpackPlugin({
			// 指定模板文件
			template:path.join(__dirname,"../public/index.html"),
			// 将打包后的JS放到body后面
			inject:"body",
			// 清除缓存
			hash:true,
			minify:{
				// 清除注释
				removeComments:true,
				// 清除双引号的
				removeAttributeQuotes:true,
				// 移除空行，换行
				collapseWhitespace:true
			},
			title:"尚硅谷广告管理系统"
		}),
		new CopyPlugin({
			patterns: [
				{
					from: path.resolve(__dirname,"../public"),
					to: outputPath,
					globOptions: {
						ignore: [
							// 忽略所有的index.html
							"**/index.html",
						],
					},
				}
			],
		}),
	],
	// 配置模式
	mode:"production"
}